package vue;
import java.awt.Font;
import java.awt.GridLayout;
import java.util.ArrayList;
import java.util.Vector;

import javax.swing.*;

import controleur.RechercheListener;

public class AffichageRechAvancee extends JPanel {
	private static final long serialVersionUID = 1L;
	private JLabel label, lTitre, lEditeur, lAuteur, lGenre, lSerie;
	private JRadioButton jr1, jr2;
	private ButtonGroup bg;
	private JTextField tTitre, tEditeur, tAuteur, tSerie;
	private JScrollPane sGenre;
	private JList liste;
	private JPanel p1, p2;
	private AffichageGlobal ag;
	private JButton go;

	public AffichageRechAvancee (AffichageGlobal ag) {
		this.ag = ag;
		this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
		this.add(Box.createVerticalStrut(40)); 
		label = new JLabel("Recherche avancee contenant : ");
		label.setFont(new Font("Arial", Font.BOLD, 26));
		add(label);
		this.add(Box.createVerticalStrut(20)); 


		//Titre
		p1 = new JPanel();
		p1.setLayout(new BoxLayout(p1, BoxLayout.X_AXIS));
		bg = new ButtonGroup();

		jr1 = new JRadioButton("au moins un des criteres");
		jr2 = new JRadioButton("TOUS les criteres");

		jr1 = new JRadioButton("au moins un des crit�res");
		jr1.setSelected(true);
		jr2 = new JRadioButton("TOUS les crit�res");
		bg.add(jr1); bg.add(jr2);
		p1.add(jr1); p1.add(jr2);
		this.add(p1);
		this.add(Box.createVerticalStrut(40)); 

		//Recherche
		p2 = new JPanel();
		p2.setLayout(new GridLayout(5,2,5,5));
		lTitre = new JLabel("par titre : ");
		tTitre = new JTextField(20);
		p2.add(lTitre); p2.add(tTitre);

		lEditeur = new JLabel("par editeur : ");
		tEditeur = new JTextField(20);
		p2.add(lEditeur); p2.add(tEditeur);

		lAuteur = new JLabel("par auteur : ");
		tAuteur = new JTextField(20);
		p2.add(lAuteur); p2.add(tAuteur);

		lSerie = new JLabel("par serie : ");
		tSerie = new JTextField(20);
		p2.add(lSerie); p2.add(tSerie);

		this.add(p2);

		lGenre = new JLabel("par genre : ");
		Vector<String> listeItems = new Vector<String>();
		ArrayList<String> temp = ag.getTraitement().getGenres();
		for (String it : temp) {
			listeItems.add(it);
		}
		liste = new JList(listeItems);
		sGenre = new JScrollPane(liste);
		liste.setVisibleRowCount(5);
		this.add(lGenre); this.add(sGenre);


		this.add(Box.createVerticalStrut(40)); 
		go = new JButton("Rechercher !");
		this.add(go);	
		go.addActionListener(new RechercheListener(ag, this));

	}

	public boolean rechercheAvecTous() {
		if (jr1.isSelected()) {	return false; }
		return true;
	}
	public String getRechTitre()  { return tTitre.getText(); }
	public String getRechAuteur() {	return tAuteur.getText();}
	public String getRechEditeur(){	return tEditeur.getText();}
	public String getRechSerie() { return tSerie.getText();}

	public String getRechGenres() {
		if (liste.isSelectionEmpty())
			return "";

		return ag.getTraitement().getGenres().get(liste.getSelectedIndex());
	}

}
